![]() |
![]() |
|
rtk 19961996.1.1 (preuredi)Urejanje števil 1. podnalogaKatja zelo rada programira, zato je napisala funkcijo, ki sprejme seznam števil, jih uredi po velikosti od najmanjšega do največjega in vrne urejen seznam. Nekega jutra je bila zelo zaspana in je datoteko s funkcijo odprla z napačnim urejevalnikom. Ta ji je nesramno pomešal vrstice funkcije. NalogaPreuredi dane vrstice funkcije
Vhodni podatkiSeznam števil, ki niso urejena po velikosti. Izhodni podatkiSeznam s števili, urejenimi po velikosti naraščajoče. KomentarFunkcija je eden izmed znanih algoritmov za urejanje seznamov. Lahko si pomagaš s člankom na Wikipedii. Uradna rešitevdef uredi_stevila(seznam): '''Sprejme seznam števil in jih uredi po velikosti naraščajoče.''' n = len(seznam) i = 1 while i < n: j = i while j > 0 and seznam[j-1] > seznam[j]: seznam[j-1], seznam[j] = seznam[j], seznam[j-1] j += -1 i += 1 return seznam 1996.1.3 (preuredi)Domača naloga 1. podnalogaMiha je na računalniku napisal domačo nalogo za slovenščino in jo poslal očetu
v pregled. Oče je vanjo vpisal svoje pripombe tako, da jih je obdal z znakoma
NalogaPreuredi vrstice funkcije
Vhodni podatkiDomača naloga napisana v obliki niza. Izhodni podatkiDomača naloga v obliki niza, brez očetovih komentarjev. PrimerVhod
Izhod
KomentarDvojnih presledkov, ki nastanejo pri brisanju komentarjev, ni treba odstraniti. Uradna rešitevdef odstrani_komentarje(niz): '''Funkcija iz besedila odstrani vse kar se nahaja med znakoma < in >.''' nov_niz = "" komentar = False for znak in niz: if znak == '<': komentar = True continue elif znak == '>': komentar = False continue if not komentar: # nahajamo se zunaj komentarja nov_niz += znak return nov_niz 1996.2.1 (preuredi)Palindromi števil 1. podnalogaBesedo ali stavek, ki se nazaj bere enako kot naprej, imenujemo palindrom.
Podobno so številski palindromi števila, katerih zapis v desetiškem sistemu
je z desne proti levi enak kot z leve proti desni (taki števili sta naprimer
Katera pa so števila, za katere je vsota števila (npr. NalogaPreuredi vrstice funkcije
Vhodni podatkiŠtevilo Izhodni podatkiSeznam števil, ki ustrezajo opisu. Primer
Uradna rešitevdef obrat_stevila(x): '''Funkcija vrne število, ki ga dobimo, če x zapišemo v desetiškem sistemu in ga preberemo od desne proti levi.''' y = 0 while x > 0: y = y * 10 + x % 10 x = (x - y % 10) / 10 return y def vsota_palindrom(n): '''Funkcija izpiše vsa števila do n, za katera velja, da je vsota števila in njegovega obrata palindrom.''' ustrezna_stevila = [] for i in range(1, n): if obrat_stevila(obrat_stevila(i) + i) == obrat_stevila(i) + i: ustrezna_stevila.append(i) return ustrezna_stevilaMesto objave ob koncu projekta 15.9.2018 |